package project.newCode.lights;

import project.hulpPakket.Color3f;
import project.hulpPakket.Point3f;
import project.hulpPakket.Vector3f;

public abstract class Light {

	private Color3f color;
	public Light(Color3f color, float intensity) {
		super();
		this.color = color;
		this.intensity = intensity;
	}

	protected float intensity;

	public Light() {
		super();
	}

	public float getIntensity() {
		return intensity;
	}

	public void setIntensity(float intensity) {
		this.intensity = intensity;
	}

	public Color3f getWeightedColor() {
		return Color3f.Multiply(color,intensity);
	}
	public Color3f getColor() {
		return color;
	}

	public void setColor(Color3f color) {
		this.color = color;
	}
	
	public abstract Vector3f getDirection(Point3f intersection);

	// To be removed when materials are in use!
	public double getPhongexp() {
		// TODO Auto-generated method stub
		return 27;
	}

}